package com.lmy.task;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.util.Date;

/**
 * 以固定速率定义定时任务
 * fixedRate 表示任务的执行间隔，单位ms
 * 适用于任务执行时间较短的场景，因为任务的执行时间不会影响下一次任务的触发时间。
 * 无论当前任务是否完成，下一个任务都会准时启动。
 */
@Component
public class FixedRateTask {

    @Scheduled(fixedRate = 5000)
    public void executeTask() {
        try {
            System.out.println("固定速率任务执行，开始时间:" + new Date());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
